package com.bdqn.springweb.config.interceptor;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;

//自定义拦截器
public class AuthorizationInterceptor implements HandlerInterceptor {
    /**
     * 请求执行前执行
     */
   @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
       if(request.getSession().getAttribute("loginUser")==null){
           response.setContentType("text/html;charset=UTF-8");
           PrintWriter out = response.getWriter();
           out.print("<script>alert('请先进行登录，再进行后续操作！（Interceptor控制）');location.href='"+request.getContextPath()
                   +"/login.jsp';</script>");
           return false;
       }else {
           return true;
       }
    }

    /**
     * 请求结束执行
     */
    @Override
    public void postHandle( HttpServletRequest request,HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception{
    }

    /**
     * 视图渲染完成后执行
     */
    @Override
    public void afterCompletion(HttpServletRequest request,HttpServletResponse response,Object handler,Exception ex) throws  Exception{
    }
}
